package comtwo;

public class Demo {
    /*
    * Api:应用接口
    *   面向对象：自己造方法接口api，自己实现---->自己调用
    *   java的Api：是由java的JDK写好的大量的类库，
    *       每一个类库都是用来解决具体问题的。
    *     集合框架：容器的api。
    *
    *   Api的应用场景：
    *       1:为业务封装特定功能的Api.
    *       2:调用第三方公司的Api
    *
    *   java的Api：集合框架,集合框架,IO的使用，多线程
    *      集合框架Api：--->擅长存储引用数据类型
    *           解决容器问题,解决数组带来的问题。
    *      存值特性：
    *         Collection接口：存储一组不唯一，无序的对象。
    *            List: 接口存储一组不唯一,有序（插入顺序）的对象.
    *               ArrayList:实现了长度可变的数组，在内存中分配连续的空间。
    *                   遍历元素和随机访问元素的效率比较高
    *               LinkedList：采用链表存储方式，插入、删除元素时效率比较高。
    *               Vector:实现了长度可变的数组，在内存中分配连续的空间。
    *                   实现了线程安全
    *               ArrayList和LinkedList异同：
    *                   相同：都是子接口，都要拥有相同的方法。
    *                   不同：存储结构不同，LinkedList有自己的特有方法。
    *
    *
    *
    *            Set:接口存储一组唯一，无序的对象引用
    *              HashSet: 采用哈希列表存储，底层是由hashMap实现的
    *
    *
    *         Map接口：存储一组键值对象，提供key到value的映射
    *              key:是不允许重复，要保持唯一性.
    *              value:允许重复.
    * `         HashMap:最常用的一个实现类。
    *           Hashtable:线程安全的。
    *
    *       泛型：将对象的类型作为参数，指定到其他类或者方法上，
    *            从而保证类型转换的安全性和稳定性
                        ----参数化类型
     *         参数化类型：只能是引用数据类型。
     *         作用：泛型集合可以约束集合内的元素类型
     *
     *      Collections：操作集合的工具类，排序。
    * */
}